package com.ytjj.qmyx.mall.model.response;

import com.ytjj.common.utils.TokenUtil;
import com.ytjj.qmyx.mall.constants.IsActivityConstant;
import com.ytjj.qmyx.mall.model.ProductActivity;
import com.ytjj.qmyx.mall.model.ProductActivityImg;
import com.ytjj.qmyx.mall.model.ProductImg;
import com.ytjj.qmyx.mall.model.UsersFake;
import lombok.Data;
import org.springframework.beans.BeanUtils;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

@Data
public class ProductV2Response {

        /**
         * 主键
         *
         */
        private Integer id;

        /**
         * 活动类型
         *
         */
        private String activityType;

        /**
         * 商品标识
         *
         */
        private String productNo;

        /**
         * 商品名称
         *
         */
        private String productName;


        /**
         * 活动标识：积分/红包/抵扣券
         *
         */
        private BigDecimal activityMax;

        /**
         * 活动标识：积分/红包/抵扣券
         *
         */
        private BigDecimal activityMin;


        /**
         * 活动额外参数
         *
         */
        private String extra;

        /**
         * 栏目id
         *
         */
        private Integer columnId;



        /**
         * 商品白图
         *
         */
        private String productImg;

        /**
         * 场景图
         *
         */
        private String sceneImg;

        /**
         * 缩列图
         *
         */
        private String shrinkImg;

        /**
         * 默认价格
         *
         */
        private BigDecimal price;

        /**
         * 描述
         *
         */
        private String descr;

        /**
         * 排序
         *
         */
        private Integer sort;

        /**
         * 原价
         *
         */
        private BigDecimal originalPrice;

        /**
         * 库存总量
         *
         */
        private Integer stock;

        /**
         * 评论总数
         *
         */
        private Integer commentSum;

        /**
         * 好评率
         *
         */
        private Integer goodRatio;

        /**
         * 分类id
         *
         */
        private Integer categoryId;

        /**
         * 店家id
         *
         */
        private Integer bankerId;

        /**
         * 销量
         */
        private Integer volume;

        /**
         * 销量字段
         */
        private String volumeStr;
        /**
         * 货源
         *
         * @mbg.generated
         */
        private String warehouse;

        /**
         * 货源名称
         *
         * @mbg.generated
         */
        private String warehouseName;

        /**
         * 仓库规则如：不退换不到付
         *
         * @mbg.generated
         */
        private String warehouseRule;

        /**
         * sku属性json列表
         *
         */
        private String attributeJson;

        /**
         * 规格列表
         */
        private Map<String,Object> specMap;

        /**
         * 是否收藏标志
         */
        private Integer isCollect;

        /**
         * 图片列表
         */
        private Map<String, List<ProductImg>> imgMapList;

        /**
         * 是否为活动
         *
         * 备注：该字段用于给前端分辨是否为活动商品
         */
        private Integer isActivity;

        /**
         * 用户ID
         */
        private Integer userId;

        /**
         * 推荐图片列表
         */
        private List<ProductActivityImg> recommendImgList;

        /**
         * 假用户列表
         */
        List<UsersFake> usersFakeList;

        private String recommendDoc;

        /**
         * 是否存在推荐图或视频 0否 1是
         */
        private Integer recImgFlag;

        private Long similaritySum;

        private String recDescr;

        /**
         * 现价
         */
        private BigDecimal curPrice;


    public ProductV2Response(){}

    public ProductV2Response(ProductActivity product){
        BeanUtils.copyProperties(product,this);
            if(!"h5".equals(TokenUtil.getSource())){
                    this.recImgFlag = 0;
            }
        this.isActivity = IsActivityConstant.YES;
    }

}
